# 使用Go 1.24 Alpine镜像作为基础
FROM golang:1.24-alpine

# 创建非root用户
# RUN adduser -D -H -h /app appuser

# 设置工作目录
WORKDIR /app

# 复制依赖文件go.mod和go.sum，利用Docker缓存，目前项目中还未使用
# COPY go.mod go.sum ./

# 复制项目文件到工作目录
COPY . .

# 安装必要工具
RUN apk add --no-cache git

# 下载Go模块依赖
RUN go mod download

# 构建应用，生成可执行文件为account_info_app
RUN go build -o account_info_app .

# 切换到非root用户运行，原版本用root运行，提升安全性
# USER appuser

# 暴露应用端口
EXPOSE 8081

# 运行应用
CMD ["./account_info_app"]